// .txt

beginzonescript;

variables;

short crime_tolerance = 200;
short last_abil;
short i,r1;
short dr_spawn = 0;

body;

beginstate INIT_STATE;

//	set_name(,"");
	sf(70,15,0);
	sf(70,16,0);
	sf(70,17,0);
	sf(70,18,0);
	sf(70,21,0);
	
	add_range_to_group(12,17,1);
	set_aggression(1001,9);
	set_level(1001,28);

	add_range_to_group(18,23,2);
	set_aggression(1002,9);
	set_level(1002,28);

	add_range_to_group(24,27,3);
	set_aggression(1003,9);
	set_level(1003,28);
	
	set_level(28,30);
	set_level(33,30);

	add_range_to_group(38,41,4);
	set_aggression(1004,9);
	set_level(1004,28);

	add_range_to_group(42,44,5);
	set_name(1005,"Domination Vlish");
	set_boss_level(1005,1);
	set_aggression(1005,9);
	set_level(1005,28);

	set_name(50,"Smith Fitz");
	set_level(50,32);
	set_boss_level(50,2);

	set_name(54,"Ellek'Sss");
	set_boss_level(54,1);

	//if (get_sdf() > 0) {
		//make_zone_hostile();
		//}

	last_abil = get_current_tick();
	
	set_crime_tolerance(crime_tolerance);
	break;

beginstate EXIT_STATE;

break;

beginstate START_STATE;
	// clear zone?
	if ((zone_clear(ME) == FALSE) && (get_flag(70,8) > 1)) {
		print_str_color("Now that the Unbound are dead, this area is much safer.",2);
		award_party_xp(100,30);
		clear_zone(ME);	
		}
		
	//if ((get_crime_level() >= crime_tolerance) && (get_sdf(,) == 0)) {
	//	make_zone_hostile();
	//	set_flag(,,1);
	//	}

	if ((char_ok(50)) && (get_attitude(50) < 10)) {
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(50,"Tink! Tink!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(50,"Zzzzzzzap!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(50,"Need more essence.");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(50,"Got any puresteel?");
		}
	if ((char_ok(54)) && (get_attitude(54) < 10)) {
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(54,"Don't pass beyond this room.");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(54,"Hsssss!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(54,"I wish solitude.");
		}
	
	if (((is_combat()) && (tick_difference(last_abil,get_current_tick()) > 0)) || ((is_group()) && (tick_difference(last_abil,get_current_tick()) > 3))) {
		last_abil = get_current_tick();
		
		dr_spawn = dr_spawn + 1;
		if (dr_spawn == 3) {
			dr_spawn = 0;
			if ((gf(70,8) < 2) && (gf(70,2) > 0)) {
				r1 = get_ran(1,0,1);
				if ((char_ok(45 + r1) == FALSE) && (get_ran(1,0,100) < 50) && (party_dist_to_nav(2 + r1) > 15)) {
					spawn_creature(37 + r1);
					if (r1 == 0)
						print_str_color("You sense an ominous presence. It is approaching along the west road.",3);
					if (r1 == 1)
						print_str_color("You sense an ominous presence. It is approaching along the east road.",3);
					if (gf(70,3) == 0) {
						sf(70,3,1);
						begin_talk_mode(2);
						}
					}
				}
			}
			
		if ((gf(70,20) == 0) && (gf(70,21) > 0))
			inc_flag(70,21,3);
		}

	// end golem?
	if ((gf(70,20) == 0) && (gf(70,15) > 1) && (gf(70,16) > 1) && (gf(70,17) > 1) && (gf(70,18) > 1)) {
		sf(70,20,1);
		award_party_xp(200,30);
		begin_talk_mode(78);
		}
		
	if (char_ok(54) == FALSE)
		sf(70,1,2);
break;

beginstate 10;
	if ((char_ok(54)) && (get_attitude(54) < 10)) {
		set_attitude(54,10);
		
		print_str_color("When you try to enter her private grove, Ellek'Sss",3);
		print_str_color("  roars furiously.",3);
		}
break;

beginstate 11;
	if ((gf(70,20) == 0) && (gf(70,21) == 0)) {
		sf(70,21,1);
		set_terrain(28,51,91);
		set_terrain(28,55,92);
		set_terrain(36,51,91);
		set_terrain(36,55,92);
		
		activate_hidden_group(7);
		
		begin_talk_mode(77);
		}
break;
		
//	print_str("");
//	set_terrain_string_range(".",3);
//	set_terrain_string_range("The sign says - .",3);
